// 路由鉴权
// 引入路由表
import router from './router'
// 引入进度条
import Nprogress from 'nprogress'
import 'nprogress/nprogress.css'
Nprogress.configure({ showSpinner: false });
// 引入路由器
import { useRouter } from 'vue-router';
//引入用户相关的仓库
import useUserStore from '@/store/modules/user';
//引入大仓库
import pinia from '@/store'
let userStore = useUserStore(pinia);
let $router = useRouter();
// 用户未登录可以访问的路由
const logoutPath = ['/home', '/hospital/register', '/hospital/detail', '/hospital/notice', '/hospital/close', '/hospital/search']
// 全局路由守卫
// 前置路由守卫
router.beforeEach((to, from, next) => {
    // 在鉴权之前开启进度条
    Nprogress.start();
    // 设置动态页面标题
    document.title = `易医通-${to.meta.title}`
    // 判断有没有token
    if(userStore.userInfo.token){
        // 用户已经登录
        next();
    }else{
        // 用户未登录
        if (logoutPath.includes(to.path)){
            next();
        }else{
            // 开启对话框
            userStore.dialogFormVisible = true
            // 跳转到首页
            $router.push({path:'/home',query:{redirect:to.path}})
        }
    }
})
// 后置路由守卫
router.afterEach((to,from)=>{
    // 鉴权之后关闭进度条
    Nprogress.done();
})